package com.todo.content.application.service;

import com.todo.common.common.entity.response.page.PageResult;
import com.todo.common.common.enums.EnableTypeEnum;
import com.todo.content.application.entity.bo.ContentClassifyBO;
import com.todo.content.application.entity.condition.ContentClassifyConditionBO;

import java.util.List;

/**
 * (ContentClassify)表服务接口
 *
 * @author zhangwenxiang
 * @since 2024-03-04 00:19:45
 */
public interface ContentClassifyService {
    /**
     * 新增分类信息
     *
     * @param contentClassifyBO
     * @return
     */
    Boolean insertContentClassify(ContentClassifyBO contentClassifyBO);

    /**
     * 根据主键id更新分类信息
     *
     * @param contentClassifyBO
     * @return
     */
    Boolean updateContentClassifyById(ContentClassifyBO contentClassifyBO);

    /**
     * 根据主键id删除分类信息
     * 注：危险操作
     *
     * @param classifyId
     * @return
     */
    Boolean removeContentClassifyById(Long classifyId);

    /**
     * 根据主键查询分类信息
     *
     * @param classifyId
     * @return
     */
    ContentClassifyBO queryContentClassifyById(Long classifyId);

    /**
     * 启禁用分类信息
     *
     * @param classifyId
     * @param enableTypeEnum
     * @return
     */
    Boolean enableContentClassifyById(Long classifyId, EnableTypeEnum enableTypeEnum);

    /**
     * 根据分类code查询分类信息
     *
     * @param classifyCode
     * @return
     */
    ContentClassifyBO queryContentClassifyByCode(String classifyCode);

    /**
     * 多条件查询分类列表
     *
     * @param condition
     * @return
     */
    PageResult<ContentClassifyBO> queryContentClassifyByPage(ContentClassifyConditionBO condition);

    /**
     * 根据分类id列表查询分类列表
     *
     * @param classifyIdList
     * @return
     */
    List<ContentClassifyBO> queryContentClassifyByIdList(List<Long> classifyIdList);
}
